home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Deutsche Edition 1
/
Deutsche Edition 1.iso
/
amok
/
081-090
/
amok82
/
plot
/
source
/
plotinit.def
< prev
next >
Wrap
Text File
|
1993-11-04
|
5KB
|
162 lines
(***********************************************************************
:Program. Plotinit.def
:Author. Stefan Köhle
:Address. Erhardtstr. 10
W-7033 Herrenberg
:Phone. 07032/5146
:shortcut.
:Version. 1.0
:Date. 23.11.92
:Copyright. nix
:Language. Modula-II.
:Translator. M2Amiga 4.107d
:Imports.
:UpDate.
:Contents.
:Remark.
**********************************************************************)
DEFINITION MODULE PlotInit;
FROM IntuitionD IMPORT ScreenPtr,WindowPtr,IntuiMessagePtr;
FROM GraphicsD IMPORT LayerPtr,RastPortPtr ;
FROM SYSTEM IMPORT FFP,ADDRESS ;
(*-----------------------------------------------------------------------
Alle wichtigen Variablen sind in der PlotBase organisiert. Das hat
einerseits den Vorteil, daß diese nicht auf dem Stack liegen, da ich
selber den Speicher dafür anfordere, andererseits kann ich den Proceduren
aus externen Modulen leicht diese Variablen zugänglich machen, indem
ich einfach den Zeiger auf die PlotBase übergebe.
-----------------------------------------------------------------------*)
TYPE
Buffer= ARRAY[0..250] OF CHAR;
Werte = RECORD
XWert: INTEGER ;
YWert: INTEGER ;
END (* RECORD *) ;
Tabelle = ARRAY [0..294] OF ARRAY [0..219] OF Werte ;
(*
TabelleKlein = ARRAY [0..102] OF ARRAY [0..75] OF Werte ;
*)
BeSchriftung = RECORD
ZOben : FFP ;
DeltaZ : FFP ;
XLinks : FFP ;
DeltaX : FFP ;
YHinten: FFP ;
DeltaY : FFP ;
END (* RECORD *) ;
AChsen = RECORD
XNull: INTEGER ;
YNull: INTEGER ;
ZNull: INTEGER ;
END ;
PlotBasePtr = POINTER TO PlotBase ;
PlotBase = RECORD
Wert : Tabelle ;
Screen : ScreenPtr ;
Window : WindowPtr ;
HelpWindow : WindowPtr ;
Layer : LayerPtr ;
Rp : RastPortPtr ;
KastenX0 : INTEGER ;
KastenY0 : INTEGER ;
Raster : BOOLEAN ;
Achsen : BOOLEAN ;
Kasten : BOOLEAN ;
Beschriftung : BOOLEAN ;
Flaeche : BOOLEAN ;
FSchreiben : BOOLEAN ;
GrosseBitmap : BOOLEAN ;
GrosserSpeicher : BOOLEAN ;
fertig : BOOLEAN ;
HelpVorhanden : BOOLEAN ;
HelpVorne : BOOLEAN ;
oldX : INTEGER ;
oldY : INTEGER ;
FaktorX : FFP ;
FaktorY : FFP ;
FaktorZ : FFP ;
xmax : INTEGER ;
ymax : INTEGER ;
B : BeSchriftung ;
A : AChsen ;
Schritt : INTEGER ;
ScreenHeight : INTEGER ;
ScreenWidth : INTEGER ;
BitMapHeight : CARDINAL ;
BitMapWidth : CARDINAL ;
LetzteFunktion : Buffer ;
Funktion : Buffer ;
FehlerNummer : CARDINAL ;
Dir : ARRAY [0..130] OF CHAR ;
DirFunktionen : ARRAY [0..130] OF CHAR ;
DirBilder : ARRAY [0..130] OF CHAR ;
OldDir : ARRAY [0..130] OF CHAR ;
BildName : Buffer ;
FunktionName : Buffer ;
letzterName : Buffer ;
END (* RECORD *) ;
PROCEDURE Request(Text: ARRAY OF CHAR; GadgetText: ARRAY OF CHAR;
Win: WindowPtr) ;
PROCEDURE YesNoRequest(Text: ARRAY OF CHAR; GadgetText: ARRAY OF CHAR;
Win: WindowPtr): BOOLEAN ;
PROCEDURE StringRequest(VAR Pb: PlotBasePtr): BOOLEAN ;
PROCEDURE SetUp(VAR Pb: PlotBasePtr): CARDINAL ;
PROCEDURE CleanUp(VAR Pb: PlotBasePtr) ;
PROCEDURE Speichern(VAR Pb: PlotBasePtr): BOOLEAN ;
PROCEDURE Laden(VAR Pb: PlotBasePtr; Req: BOOLEAN): BOOLEAN ;
PROCEDURE UpdateMenus(VAR Pb: PlotBasePtr; welches: CARDINAL) ;
PROCEDURE FunktionHolen(VAR Pb: PlotBasePtr ; Disk: BOOLEAN; NeueFunktion:
BOOLEAN): BOOLEAN ;
PROCEDURE FunktionTesten(VAR Pb: PlotBasePtr):
BOOLEAN ;
PROCEDURE ArgTesten(VAR Pb: PlotBasePtr; Arg: BOOLEAN): BOOLEAN ;
PROCEDURE UpdatePb(Pb: PlotBasePtr) ;
PROCEDURE ScreenHoch(MyScreenPtr: ScreenPtr) ;
PROCEDURE ScreenWeg(MyScreenPtr: ScreenPtr) ;
PROCEDURE MenuNummer(code:CARDINAL):CARDINAL;
PROCEDURE ItemNummer(code:CARDINAL):CARDINAL;
PROCEDURE SubItemNummer(code: CARDINAL):CARDINAL ;
PROCEDURE WelcheTaste(code: CARDINAL):CARDINAL ;
PROCEDURE BildSpeichern(Pb: PlotBasePtr) ;
PROCEDURE BildLaden(Pb: PlotBasePtr): INTEGER ;
END PlotInit.def